This is a preliminary version of project 1, containing frequencies comparison on countries, and topic modeling. It turns out this 2 methods cannot generate informative conclusions and are removed from the submitted version.

Step 0 - Load all the required libraries

This notebook was prepared with the following environmental settings.

print(R.version)
               _                           
platform       x86_64-apple-darwin15.6.0   
arch           x86_64                      
os             darwin15.6.0                
system         x86_64, darwin15.6.0        
status                                     
major          3                           
minor          5.0                         
year           2018                        
month          04                          
day            23                          
svn rev        74626                       
language       R                           
version.string R version 3.5.0 (2018-04-23)
nickname       Joy in Playing              

Step 1 - Load data

urlfiles = c('https://raw.githubusercontent.com/rit-public/HappyDB/master/happydb/data/cleaned_hm.csv',
              'https://raw.githubusercontent.com/rit-public/HappyDB/master/happydb/data/demographic.csv',
              'https://raw.githubusercontent.com/rit-public/HappyDB/master/happydb/data/senselabel.csv')
cleaned_hm = read_csv(urlfiles[1])
demographic = read_csv(urlfiles[2])
senselabel = read_csv(urlfiles[3])

|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   0%
|                                                                                              |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                             |   1%
|=                                                                                     |   1%    1 MB
|=                                                                                     |   1%    1 MB
|=                                                                                     |   1%    1 MB
|=                                                                                     |   1%    1 MB
|=                                                                                     |   1%    1 MB
|=                                                                                     |   2%    1 MB
|=                                                                                     |   2%    1 MB
|=                                                                                     |   2%    1 MB
|=                                                                                     |   2%    1 MB
|=                                                                                     |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   2%    1 MB
|==                                                                                    |   3%    1 MB
|==                                                                                    |   3%    1 MB
|==                                                                                    |   3%    1 MB
|==                                                                                    |   3%    1 MB
|==                                                                                    |   3%    1 MB
|==                                                                                    |   3%    2 MB
|==                                                                                    |   3%    2 MB
|===                                                                                   |   3%    2 MB
|===                                                                                   |   3%    2 MB
|===                                                                                   |   3%    2 MB
|===                                                                                   |   3%    2 MB
|===                                                                                   |   3%    2 MB
|===                                                                                   |   3%    2 MB
|===                                                                                   |   3%    2 MB
|===                                                                                   |   3%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|===                                                                                   |   4%    2 MB
|====                                                                                  |   4%    2 MB
|====                                                                                  |   4%    2 MB
|====                                                                                  |   4%    2 MB
|====                                                                                  |   4%    2 MB
|====                                                                                  |   4%    2 MB
|====                                                                                  |   4%    2 MB
|====                                                                                  |   5%    2 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|====                                                                                  |   5%    3 MB
|=====                                                                                 |   5%    3 MB
|=====                                                                                 |   5%    3 MB
|=====                                                                                 |   5%    3 MB
|=====                                                                                 |   5%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    3 MB
|=====                                                                                 |   6%    4 MB
|=====                                                                                 |   6%    4 MB
|=====                                                                                 |   6%    4 MB
|======                                                                                |   6%    4 MB
|======                                                                                |   6%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   7%    4 MB
|======                                                                                |   8%    4 MB
|=======                                                                               |   8%    4 MB
|=======                                                                               |   8%    4 MB
|=======                                                                               |   8%    4 MB
|=======                                                                               |   8%    4 MB
|=======                                                                               |   8%    4 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   8%    5 MB
|=======                                                                               |   9%    5 MB
|=======                                                                               |   9%    5 MB
|=======                                                                               |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |   9%    5 MB
|========                                                                              |  10%    6 MB
|========                                                                              |  10%    6 MB
|========                                                                              |  10%    6 MB
|========                                                                              |  10%    6 MB
|========                                                                              |  10%    6 MB
|========                                                                              |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  10%    6 MB
|=========                                                                             |  11%    6 MB
|=========                                                                             |  11%    6 MB
|=========                                                                             |  11%    6 MB
|=========                                                                             |  11%    6 MB
|=========                                                                             |  11%    6 MB
|=========                                                                             |  11%    6 MB
|=========                                                                             |  11%    6 MB
|=========                                                                             |  11%    6 MB
|==========                                                                            |  11%    6 MB
|==========                                                                            |  11%    6 MB
|==========                                                                            |  11%    6 MB
|==========                                                                            |  11%    7 MB
|==========                                                                            |  11%    7 MB
|==========                                                                            |  11%    7 MB
|==========                                                                            |  11%    7 MB
|==========                                                                            |  11%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|==========                                                                            |  12%    7 MB
|===========                                                                           |  12%    7 MB
|===========                                                                           |  12%    7 MB
|===========                                                                           |  12%    7 MB
|===========                                                                           |  12%    7 MB
|===========                                                                           |  12%    7 MB
|===========                                                                           |  12%    7 MB
|===========                                                                           |  13%    7 MB
|===========                                                                           |  13%    7 MB
|===========                                                                           |  13%    7 MB
|===========                                                                           |  13%    7 MB
|===========                                                                           |  13%    7 MB
|===========                                                                           |  13%    8 MB
|===========                                                                           |  13%    8 MB
|===========                                                                           |  13%    8 MB
|===========                                                                           |  13%    8 MB
|===========                                                                           |  13%    8 MB
|===========                                                                           |  13%    8 MB
|===========                                                                           |  13%    8 MB
|===========                                                                           |  13%    8 MB
|============                                                                          |  13%    8 MB
|============                                                                          |  13%    8 MB
|============                                                                          |  13%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|============                                                                          |  14%    8 MB
|=============                                                                         |  14%    8 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  15%    9 MB
|=============                                                                         |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%    9 MB
|==============                                                                        |  16%   10 MB
|==============                                                                        |  16%   10 MB
|==============                                                                        |  16%   10 MB
|==============                                                                        |  16%   10 MB
|==============                                                                        |  16%   10 MB
|==============                                                                        |  17%   10 MB
|==============                                                                        |  17%   10 MB
|==============                                                                        |  17%   10 MB
|==============                                                                        |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  17%   10 MB
|===============                                                                       |  18%   10 MB
|===============                                                                       |  18%   10 MB
|===============                                                                       |  18%   10 MB
|===============                                                                       |  18%   10 MB
|===============                                                                       |  18%   10 MB
|===============                                                                       |  18%   10 MB
|===============                                                                       |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  18%   11 MB
|================                                                                      |  19%   11 MB
|================                                                                      |  19%   11 MB
|================                                                                      |  19%   11 MB
|================                                                                      |  19%   11 MB
|================                                                                      |  19%   11 MB
|================                                                                      |  19%   11 MB
|================                                                                      |  19%   11 MB
|================                                                                      |  19%   11 MB
|=================                                                                     |  19%   11 MB
|=================                                                                     |  19%   11 MB
|=================                                                                     |  19%   11 MB
|=================                                                                     |  19%   11 MB
|=================                                                                     |  19%   11 MB
|=================                                                                     |  19%   11 MB
|=================                                                                     |  19%   11 MB
|=================                                                                     |  19%   11 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|=================                                                                     |  20%   12 MB
|==================                                                                    |  20%   12 MB
|==================                                                                    |  20%   12 MB
|==================                                                                    |  20%   12 MB
|==================                                                                    |  20%   12 MB
|==================                                                                    |  20%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   12 MB
|==================                                                                    |  21%   13 MB
|==================                                                                    |  21%   13 MB
|==================                                                                    |  21%   13 MB
|===================                                                                   |  21%   13 MB
|===================                                                                   |  21%   13 MB
|===================                                                                   |  21%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|===================                                                                   |  22%   13 MB
|====================                                                                  |  23%   13 MB
|====================                                                                  |  23%   13 MB
|====================                                                                  |  23%   13 MB
|====================                                                                  |  23%   13 MB
|====================                                                                  |  23%   13 MB
|====================                                                                  |  23%   13 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  23%   14 MB
|====================                                                                  |  24%   14 MB
|====================                                                                  |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  24%   14 MB
|=====================                                                                 |  25%   15 MB
|=====================                                                                 |  25%   15 MB
|=====================                                                                 |  25%   15 MB
|=====================                                                                 |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  25%   15 MB
|======================                                                                |  26%   15 MB
|======================                                                                |  26%   15 MB
|======================                                                                |  26%   15 MB
|======================                                                                |  26%   15 MB
|======================                                                                |  26%   15 MB
|======================                                                                |  26%   15 MB
|======================                                                                |  26%   15 MB
|=======================                                                               |  26%   15 MB
|=======================                                                               |  26%   15 MB
|=======================                                                               |  26%   15 MB
|=======================                                                               |  26%   15 MB
|=======================                                                               |  26%   16 MB
|=======================                                                               |  26%   16 MB
|=======================                                                               |  26%   16 MB
|=======================                                                               |  26%   16 MB
|=======================                                                               |  26%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|=======================                                                               |  27%   16 MB
|========================                                                              |  27%   16 MB
|========================                                                              |  27%   16 MB
|========================                                                              |  27%   16 MB
|========================                                                              |  27%   16 MB
|========================                                                              |  27%   16 MB
|========================                                                              |  27%   16 MB
|========================                                                              |  27%   16 MB
|========================                                                              |  28%   16 MB
|========================                                                              |  28%   16 MB
|========================                                                              |  28%   16 MB
|========================                                                              |  28%   16 MB
|========================                                                              |  28%   16 MB
|========================                                                              |  28%   17 MB
|========================                                                              |  28%   17 MB
|========================                                                              |  28%   17 MB
|========================                                                              |  28%   17 MB
|========================                                                              |  28%   17 MB
|========================                                                              |  28%   17 MB
|========================                                                              |  28%   17 MB
|=========================                                                             |  28%   17 MB
|=========================                                                             |  28%   17 MB
|=========================                                                             |  28%   17 MB
|=========================                                                             |  28%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|=========================                                                             |  29%   17 MB
|==========================                                                            |  29%   17 MB
|==========================                                                            |  29%   17 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  30%   18 MB
|==========================                                                            |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   18 MB
|===========================                                                           |  31%   19 MB
|===========================                                                           |  31%   19 MB
|===========================                                                           |  31%   19 MB
|===========================                                                           |  31%   19 MB
|===========================                                                           |  31%   19 MB
|===========================                                                           |  32%   19 MB
|===========================                                                           |  32%   19 MB
|===========================                                                           |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  32%   19 MB
|============================                                                          |  33%   19 MB
|============================                                                          |  33%   19 MB
|============================                                                          |  33%   19 MB
|============================                                                          |  33%   19 MB
|============================                                                          |  33%   19 MB
|============================                                                          |  33%   19 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  33%   20 MB
|=============================                                                         |  34%   20 MB
|=============================                                                         |  34%   20 MB
|=============================                                                         |  34%   20 MB
|=============================                                                         |  34%   20 MB
|=============================                                                         |  34%   20 MB
|=============================                                                         |  34%   20 MB
|=============================                                                         |  34%   20 MB
|=============================                                                         |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  34%   20 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|==============================                                                        |  35%   21 MB
|===============================                                                       |  35%   21 MB
|===============================                                                       |  35%   21 MB
|===============================                                                       |  35%   21 MB
|===============================                                                       |  35%   21 MB
|===============================                                                       |  35%   21 MB
|===============================                                                       |  35%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   21 MB
|===============================                                                       |  36%   22 MB
|===============================                                                       |  36%   22 MB
|================================                                                      |  36%   22 MB
|================================                                                      |  36%   22 MB
|================================                                                      |  36%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|================================                                                      |  37%   22 MB
|=================================                                                     |  37%   22 MB
|=================================                                                     |  37%   22 MB
|=================================                                                     |  38%   22 MB
|=================================                                                     |  38%   22 MB
|=================================                                                     |  38%   22 MB
|=================================                                                     |  38%   22 MB
|=================================                                                     |  38%   22 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  38%   23 MB
|=================================                                                     |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  39%   23 MB
|==================================                                                    |  40%   24 MB
|==================================                                                    |  40%   24 MB
|==================================                                                    |  40%   24 MB
|==================================                                                    |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  40%   24 MB
|===================================                                                   |  41%   24 MB
|===================================                                                   |  41%   24 MB
|===================================                                                   |  41%   24 MB
|===================================                                                   |  41%   24 MB
|===================================                                                   |  41%   24 MB
|===================================                                                   |  41%   24 MB
|===================================                                                   |  41%   24 MB
|====================================                                                  |  41%   24 MB
|====================================                                                  |  41%   24 MB
|====================================                                                  |  41%   24 MB
|====================================                                                  |  41%   24 MB
|====================================                                                  |  41%   24 MB
|====================================                                                  |  41%   25 MB
|====================================                                                  |  41%   25 MB
|====================================                                                  |  41%   25 MB
|====================================                                                  |  41%   25 MB
|====================================                                                  |  41%   25 MB
|====================================                                                  |  42%   25 MB
|====================================                                                  |  42%   25 MB
|====================================                                                  |  42%   25 MB
|====================================                                                  |  42%   25 MB
|====================================                                                  |  42%   25 MB
|====================================                                                  |  42%   25 MB
|====================================                                                  |  42%   25 MB
|====================================                                                  |  42%   25 MB
|=====================================                                                 |  42%   25 MB
|=====================================                                                 |  42%   25 MB
|=====================================                                                 |  42%   25 MB
|=====================================                                                 |  42%   25 MB
|=====================================                                                 |  42%   25 MB
|=====================================                                                 |  42%   25 MB
|=====================================                                                 |  42%   25 MB
|=====================================                                                 |  42%   25 MB
|=====================================                                                 |  43%   25 MB
|=====================================                                                 |  43%   25 MB
|=====================================                                                 |  43%   25 MB
|=====================================                                                 |  43%   25 MB
|=====================================                                                 |  43%   25 MB
|=====================================                                                 |  43%   25 MB
|=====================================                                                 |  43%   26 MB
|=====================================                                                 |  43%   26 MB
|=====================================                                                 |  43%   26 MB
|=====================================                                                 |  43%   26 MB
|=====================================                                                 |  43%   26 MB
|======================================                                                |  43%   26 MB
|======================================                                                |  43%   26 MB
|======================================                                                |  43%   26 MB
|======================================                                                |  43%   26 MB
|======================================                                                |  43%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|======================================                                                |  44%   26 MB
|=======================================                                               |  44%   26 MB
|=======================================                                               |  44%   26 MB
|=======================================                                               |  45%   26 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|=======================================                                               |  45%   27 MB
|========================================                                              |  45%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   27 MB
|========================================                                              |  46%   28 MB
|========================================                                              |  46%   28 MB
|========================================                                              |  46%   28 MB
|========================================                                              |  46%   28 MB
|========================================                                              |  46%   28 MB
|========================================                                              |  47%   28 MB
|========================================                                              |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  47%   28 MB
|=========================================                                             |  48%   28 MB
|=========================================                                             |  48%   28 MB
|=========================================                                             |  48%   28 MB
|=========================================                                             |  48%   28 MB
|=========================================                                             |  48%   28 MB
|==========================================                                            |  48%   28 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  48%   29 MB
|==========================================                                            |  49%   29 MB
|==========================================                                            |  49%   29 MB
|==========================================                                            |  49%   29 MB
|==========================================                                            |  49%   29 MB
|==========================================                                            |  49%   29 MB
|==========================================                                            |  49%   29 MB
|==========================================                                            |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  49%   29 MB
|===========================================                                           |  50%   30 MB
|===========================================                                           |  50%   30 MB
|===========================================                                           |  50%   30 MB
|===========================================                                           |  50%   30 MB
|===========================================                                           |  50%   30 MB
|===========================================                                           |  50%   30 MB
|===========================================                                           |  50%   30 MB
|===========================================                                           |  50%   30 MB
|===========================================                                           |  50%   30 MB
|============================================                                          |  50%   30 MB
|============================================                                          |  50%   30 MB
|============================================                                          |  50%   30 MB
|============================================                                          |  50%   30 MB
|============================================                                          |  50%   30 MB
|============================================                                          |  50%   30 MB
|============================================                                          |  50%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|============================================                                          |  51%   30 MB
|=============================================                                         |  51%   31 MB
|=============================================                                         |  51%   31 MB
|=============================================                                         |  51%   31 MB
|=============================================                                         |  51%   31 MB
|=============================================                                         |  51%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|=============================================                                         |  52%   31 MB
|==============================================                                        |  52%   31 MB
|==============================================                                        |  52%   31 MB
|==============================================                                        |  53%   31 MB
|==============================================                                        |  53%   31 MB
|==============================================                                        |  53%   31 MB
|==============================================                                        |  53%   31 MB
|==============================================                                        |  53%   31 MB
|==============================================                                        |  53%   31 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|==============================================                                        |  53%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  54%   32 MB
|===============================================                                       |  55%   32 MB
|===============================================                                       |  55%   33 MB
|===============================================                                       |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  55%   33 MB
|================================================                                      |  56%   33 MB
|================================================                                      |  56%   33 MB
|================================================                                      |  56%   33 MB
|================================================                                      |  56%   33 MB
|================================================                                      |  56%   33 MB
|=================================================                                     |  56%   33 MB
|=================================================                                     |  56%   33 MB
|=================================================                                     |  56%   33 MB
|=================================================                                     |  56%   33 MB
|=================================================                                     |  56%   33 MB
|=================================================                                     |  56%   33 MB
|=================================================                                     |  56%   34 MB
|=================================================                                     |  56%   34 MB
|=================================================                                     |  56%   34 MB
|=================================================                                     |  56%   34 MB
|=================================================                                     |  56%   34 MB
|=================================================                                     |  57%   34 MB
|=================================================                                     |  57%   34 MB
|=================================================                                     |  57%   34 MB
|=================================================                                     |  57%   34 MB
|=================================================                                     |  57%   34 MB
|=================================================                                     |  57%   34 MB
|=================================================                                     |  57%   34 MB
|=================================================                                     |  57%   34 MB
|==================================================                                    |  57%   34 MB
|==================================================                                    |  57%   34 MB
|==================================================                                    |  57%   34 MB
|==================================================                                    |  57%   34 MB
|==================================================                                    |  57%   34 MB
|==================================================                                    |  57%   34 MB
|==================================================                                    |  57%   34 MB
|==================================================                                    |  57%   34 MB
|==================================================                                    |  58%   34 MB
|==================================================                                    |  58%   34 MB
|==================================================                                    |  58%   34 MB
|==================================================                                    |  58%   34 MB
|==================================================                                    |  58%   34 MB
|==================================================                                    |  58%   34 MB
|==================================================                                    |  58%   35 MB
|==================================================                                    |  58%   35 MB
|==================================================                                    |  58%   35 MB
|==================================================                                    |  58%   35 MB
|===================================================                                   |  58%   35 MB
|===================================================                                   |  58%   35 MB
|===================================================                                   |  58%   35 MB
|===================================================                                   |  58%   35 MB
|===================================================                                   |  58%   35 MB
|===================================================                                   |  58%   35 MB
|===================================================                                   |  58%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|===================================================                                   |  59%   35 MB
|====================================================                                  |  59%   35 MB
|====================================================                                  |  59%   35 MB
|====================================================                                  |  59%   35 MB
|====================================================                                  |  59%   35 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|====================================================                                  |  60%   36 MB
|=====================================================                                 |  60%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   36 MB
|=====================================================                                 |  61%   37 MB
|=====================================================                                 |  61%   37 MB
|=====================================================                                 |  61%   37 MB
|=====================================================                                 |  61%   37 MB
|=====================================================                                 |  61%   37 MB
|=====================================================                                 |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  62%   37 MB
|======================================================                                |  63%   37 MB
|======================================================                                |  63%   37 MB
|======================================================                                |  63%   37 MB
|======================================================                                |  63%   37 MB
|=======================================================                               |  63%   37 MB
|=======================================================                               |  63%   37 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  63%   38 MB
|=======================================================                               |  64%   38 MB
|=======================================================                               |  64%   38 MB
|=======================================================                               |  64%   38 MB
|=======================================================                               |  64%   38 MB
|=======================================================                               |  64%   38 MB
|=======================================================                               |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  64%   38 MB
|========================================================                              |  65%   39 MB
|========================================================                              |  65%   39 MB
|========================================================                              |  65%   39 MB
|========================================================                              |  65%   39 MB
|========================================================                              |  65%   39 MB
|========================================================                              |  65%   39 MB
|========================================================                              |  65%   39 MB
|========================================================                              |  65%   39 MB
|=========================================================                             |  65%   39 MB
|=========================================================                             |  65%   39 MB
|=========================================================                             |  65%   39 MB
|=========================================================                             |  65%   39 MB
|=========================================================                             |  65%   39 MB
|=========================================================                             |  65%   39 MB
|=========================================================                             |  65%   39 MB
|=========================================================                             |  65%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|=========================================================                             |  66%   39 MB
|==========================================================                            |  66%   40 MB
|==========================================================                            |  66%   40 MB
|==========================================================                            |  66%   40 MB
|==========================================================                            |  66%   40 MB
|==========================================================                            |  66%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|==========================================================                            |  67%   40 MB
|===========================================================                           |  67%   40 MB
|===========================================================                           |  67%   40 MB
|===========================================================                           |  67%   40 MB
|===========================================================                           |  68%   40 MB
|===========================================================                           |  68%   40 MB
|===========================================================                           |  68%   40 MB
|===========================================================                           |  68%   40 MB
|===========================================================                           |  68%   40 MB
|===========================================================                           |  68%   40 MB
|===========================================================                           |  68%   41 MB
|===========================================================                           |  68%   41 MB
|===========================================================                           |  68%   41 MB
|===========================================================                           |  68%   41 MB
|===========================================================                           |  68%   41 MB
|===========================================================                           |  68%   41 MB
|===========================================================                           |  68%   41 MB
|===========================================================                           |  68%   41 MB
|===========================================================                           |  68%   41 MB
|============================================================                          |  68%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  69%   41 MB
|============================================================                          |  70%   41 MB
|============================================================                          |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  70%   42 MB
|=============================================================                         |  71%   42 MB
|=============================================================                         |  71%   42 MB
|=============================================================                         |  71%   42 MB
|=============================================================                         |  71%   42 MB
|==============================================================                        |  71%   42 MB
|==============================================================                        |  71%   42 MB
|==============================================================                        |  71%   42 MB
|==============================================================                        |  71%   42 MB
|==============================================================                        |  71%   42 MB
|==============================================================                        |  71%   42 MB
|==============================================================                        |  71%   42 MB
|==============================================================                        |  71%   43 MB
|==============================================================                        |  71%   43 MB
|==============================================================                        |  71%   43 MB
|==============================================================                        |  71%   43 MB
|==============================================================                        |  71%   43 MB
|==============================================================                        |  72%   43 MB
|==============================================================                        |  72%   43 MB
|==============================================================                        |  72%   43 MB
|==============================================================                        |  72%   43 MB
|==============================================================                        |  72%   43 MB
|==============================================================                        |  72%   43 MB
|==============================================================                        |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  72%   43 MB
|===============================================================                       |  73%   43 MB
|===============================================================                       |  73%   43 MB
|===============================================================                       |  73%   43 MB
|===============================================================                       |  73%   43 MB
|===============================================================                       |  73%   43 MB
|===============================================================                       |  73%   43 MB
|===============================================================                       |  73%   44 MB
|===============================================================                       |  73%   44 MB
|===============================================================                       |  73%   44 MB
|================================================================                      |  73%   44 MB
|================================================================                      |  73%   44 MB
|================================================================                      |  73%   44 MB
|================================================================                      |  73%   44 MB
|================================================================                      |  73%   44 MB
|================================================================                      |  73%   44 MB
|================================================================                      |  73%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|================================================================                      |  74%   44 MB
|=================================================================                     |  74%   44 MB
|=================================================================                     |  74%   44 MB
|=================================================================                     |  74%   44 MB
|=================================================================                     |  74%   44 MB
|=================================================================                     |  74%   44 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|=================================================================                     |  75%   45 MB
|==================================================================                    |  75%   45 MB
|==================================================================                    |  75%   45 MB
|==================================================================                    |  75%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   45 MB
|==================================================================                    |  76%   46 MB
|==================================================================                    |  76%   46 MB
|==================================================================                    |  76%   46 MB
|==================================================================                    |  76%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  77%   46 MB
|===================================================================                   |  78%   46 MB
|===================================================================                   |  78%   46 MB
|===================================================================                   |  78%   46 MB
|====================================================================                  |  78%   46 MB
|====================================================================                  |  78%   46 MB
|====================================================================                  |  78%   46 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  78%   47 MB
|====================================================================                  |  79%   47 MB
|====================================================================                  |  79%   47 MB
|====================================================================                  |  79%   47 MB
|====================================================================                  |  79%   47 MB
|====================================================================                  |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  79%   47 MB
|=====================================================================                 |  80%   48 MB
|=====================================================================                 |  80%   48 MB
|=====================================================================                 |  80%   48 MB
|=====================================================================                 |  80%   48 MB
|=====================================================================                 |  80%   48 MB
|=====================================================================                 |  80%   48 MB
|=====================================================================                 |  80%   48 MB
|======================================================================                |  80%   48 MB
|======================================================================                |  80%   48 MB
|======================================================================                |  80%   48 MB
|======================================================================                |  80%   48 MB
|======================================================================                |  80%   48 MB
|======================================================================                |  80%   48 MB
|======================================================================                |  80%   48 MB
|======================================================================                |  80%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|======================================================================                |  81%   48 MB
|=======================================================================               |  81%   48 MB
|=======================================================================               |  81%   48 MB
|=======================================================================               |  81%   49 MB
|=======================================================================               |  81%   49 MB
|=======================================================================               |  81%   49 MB
|=======================================================================               |  81%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|=======================================================================               |  82%   49 MB
|========================================================================              |  82%   49 MB
|========================================================================              |  82%   49 MB
|========================================================================              |  82%   49 MB
|========================================================================              |  82%   49 MB
|========================================================================              |  83%   49 MB
|========================================================================              |  83%   49 MB
|========================================================================              |  83%   49 MB
|========================================================================              |  83%   49 MB
|========================================================================              |  83%   49 MB
|========================================================================              |  83%   49 MB
|========================================================================              |  83%   50 MB
|========================================================================              |  83%   50 MB
|========================================================================              |  83%   50 MB
|========================================================================              |  83%   50 MB
|========================================================================              |  83%   50 MB
|========================================================================              |  83%   50 MB
|========================================================================              |  83%   50 MB
|========================================================================              |  83%   50 MB
|=========================================================================             |  83%   50 MB
|=========================================================================             |  83%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  84%   50 MB
|=========================================================================             |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  85%   51 MB
|==========================================================================            |  86%   51 MB
|==========================================================================            |  86%   51 MB
|==========================================================================            |  86%   51 MB
|==========================================================================            |  86%   51 MB
|===========================================================================           |  86%   51 MB
|===========================================================================           |  86%   51 MB
|===========================================================================           |  86%   51 MB
|===========================================================================           |  86%   51 MB
|===========================================================================           |  86%   51 MB
|===========================================================================           |  86%   51 MB
|===========================================================================           |  86%   51 MB
|===========================================================================           |  86%   51 MB
|===========================================================================           |  86%   52 MB
|===========================================================================           |  86%   52 MB
|===========================================================================           |  86%   52 MB
|===========================================================================           |  86%   52 MB
|===========================================================================           |  87%   52 MB
|===========================================================================           |  87%   52 MB
|===========================================================================           |  87%   52 MB
|===========================================================================           |  87%   52 MB
|===========================================================================           |  87%   52 MB
|===========================================================================           |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  87%   52 MB
|============================================================================          |  88%   52 MB
|============================================================================          |  88%   52 MB
|============================================================================          |  88%   52 MB
|============================================================================          |  88%   52 MB
|============================================================================          |  88%   52 MB
|============================================================================          |  88%   52 MB
|============================================================================          |  88%   53 MB
|============================================================================          |  88%   53 MB
|=============================================================================         |  88%   53 MB
|=============================================================================         |  88%   53 MB
|=============================================================================         |  88%   53 MB
|=============================================================================         |  88%   53 MB
|=============================================================================         |  88%   53 MB
|=============================================================================         |  88%   53 MB
|=============================================================================         |  88%   53 MB
|=============================================================================         |  88%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|=============================================================================         |  89%   53 MB
|==============================================================================        |  89%   53 MB
|==============================================================================        |  89%   53 MB
|==============================================================================        |  89%   53 MB
|==============================================================================        |  89%   53 MB
|==============================================================================        |  89%   53 MB
|==============================================================================        |  89%   53 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|==============================================================================        |  90%   54 MB
|===============================================================================       |  90%   54 MB
|===============================================================================       |  90%   54 MB
|===============================================================================       |  90%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   54 MB
|===============================================================================       |  91%   55 MB
|===============================================================================       |  91%   55 MB
|===============================================================================       |  91%   55 MB
|===============================================================================       |  91%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  92%   55 MB
|================================================================================      |  93%   55 MB
|================================================================================      |  93%   55 MB
|=================================================================================     |  93%   55 MB
|=================================================================================     |  93%   55 MB
|=================================================================================     |  93%   55 MB
|=================================================================================     |  93%   55 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  93%   56 MB
|=================================================================================     |  94%   56 MB
|=================================================================================     |  94%   56 MB
|=================================================================================     |  94%   56 MB
|=================================================================================     |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  94%   56 MB
|==================================================================================    |  95%   57 MB
|==================================================================================    |  95%   57 MB
|==================================================================================    |  95%   57 MB
|==================================================================================    |  95%   57 MB
|==================================================================================    |  95%   57 MB
|==================================================================================    |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  95%   57 MB
|===================================================================================   |  96%   57 MB
|===================================================================================   |  96%   57 MB
|===================================================================================   |  96%   57 MB
|===================================================================================   |  96%   57 MB
|===================================================================================   |  96%   57 MB
|===================================================================================   |  96%   57 MB
|===================================================================================   |  96%   57 MB
|===================================================================================   |  96%   57 MB
|===================================================================================   |  96%   57 MB
|====================================================================================  |  96%   57 MB
|====================================================================================  |  96%   57 MB
|====================================================================================  |  96%   57 MB
|====================================================================================  |  96%   58 MB
|====================================================================================  |  96%   58 MB
|====================================================================================  |  96%   58 MB
|====================================================================================  |  96%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|====================================================================================  |  97%   58 MB
|===================================================================================== |  97%   58 MB
|===================================================================================== |  97%   58 MB
|===================================================================================== |  97%   58 MB
|===================================================================================== |  97%   58 MB
|===================================================================================== |  97%   58 MB
|===================================================================================== |  98%   58 MB
|===================================================================================== |  98%   58 MB
|===================================================================================== |  98%   58 MB
|===================================================================================== |  98%   58 MB
|===================================================================================== |  98%   58 MB
|===================================================================================== |  98%   58 MB
|===================================================================================== |  98%   59 MB
|===================================================================================== |  98%   59 MB
|===================================================================================== |  98%   59 MB
|===================================================================================== |  98%   59 MB
|===================================================================================== |  98%   59 MB
|===================================================================================== |  98%   59 MB
|===================================================================================== |  98%   59 MB
|======================================================================================|  98%   59 MB
|======================================================================================|  98%   59 MB
|======================================================================================|  98%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|======================================================================================|  99%   59 MB
|=======================================================================================| 100%   59 MB
# select columns that I am interested in
cleaned_hm = cleaned_hm[, c("hmid", "wid", "reflection_period", "cleaned_hm")]
senselabel = senselabel[, c("hmid", "tokenOffset", "lowercaseLemma", "POS", "supersenseLabel")]

Step 2 - Text processing

For the “cleaned_hm” data, Remove extra white spaces, punctuations, numbers and time-related words, convert all letters to the lower case, remove stop words, removed empty words due to formatting errors. Then reduce the words to their stems.

Do the same thing to the “senselabel” data (white spaces, punctuations, capital cases already cleaned).

Step 3 - Compute the document matrix on nouns and plot its word cloud

When computing the matrix on all words, the word cloud are consist of many positive adjectives such as “great”, “good” and verbs such as “got”, “made”. Looking at such words alone cannot provide much information on the sentences. To get more information from the text, try to use only the nouns to plot a word cloud. According to the word cloud, we can conclude that:

Step 4 - Compare word frequencies accross different demographic characteristics and reflection periods

Join text and demographic features together

(1) Word frequencies accross different gender

The graph below shows that:

  • Both female and male share some common topics that make them happy, such as “birthday”, “friend”.

  • Two pairs of words relating to spouses “husband/wife”, “boyfriend/girlfriend” have roughly the same proportion (assuming heterosexual, “wife” and “girlfriend” to male, “husband” and “boyfriend” to female), and they are mentioned quite frequent.

  • Family words such as “baby” and “children” are frequently mentioned in happy memories, and female tend to mention them slightly more. It is interesting that the word “mama” brings more joy to female than it to male and the word “papa” to both, which shows an obvious bond between mothers and kids.

  • Some frequent words mentioned in happy moments are consistent with hobbies. Such as “makeup”, “crochet” to female and “nba”, “bike” to male.

(2) Word frequencies accross different parenthood status

The graph below shows that:

  • For parents, kids, children, daughters, babies, grandkids are mentioned frequently in happy moments, which is not surprising. And for those that are not a parent, the people that frequently mentioned in their happy moments are girlfrends, roommates, etc.

  • There is a trend that for parents, family related topics (“birth”, “kindergarten”) are mentioned more frequently, while for the other group, recreationary activities (“bbq”, “guitar”) are mentioned more, which shows a time allocation difference between this two groups.

(3) Word frequencies accross different marital status

The graph below shows that:

  • Not suprisingly, for married people “husband” and “wife” and “spouse” are mentioned more frequently, while for single people, “girlfriend” and “boyfriend” and “fiance” are.
hm_df_tidy_marital = hm_df_tidy[, c("word","marital")]
frequency_marital = hm_df_tidy_marital %>% 
  count(marital, word) %>%
  group_by(marital) %>%
  mutate(proportion = n / sum(n)) %>% 
  select(-n) %>%
  spread(marital, proportion)

ggplot(frequency_marital, aes(x = married, y = single, color = abs(married - single))) +
  geom_abline(color = "gray40", lty = 2) +
  geom_jitter(alpha = 0.1, size = 2.5, width = 0.3, height = 0.3) +
  geom_text(aes(label = word), check_overlap = TRUE, vjust = 1.5) +
  scale_x_log10(labels = percent_format()) +
  scale_y_log10(labels = percent_format()) +
  scale_color_gradient(limits = c(0, 0.001), low = "darkslategray4", high = "gray75") +
  theme(legend.position="none") +
  labs(y = "single", x = "married")

(4) Word frequencies accross different reflection period

The graph below shows that:

  • Under a 3-month reflection period, people tend to mention important events that do not happen very often, such as Valentine’s Day, graudation, etc. Under a 24 hours reflection period, people tend to mention things that close to daily life, such as coffee, bed.

  • One interesting thing is that people mention foods (for example, coffee, cookie, bun) much more often when the reflection period is short.

(5) Word frequencies accross different ages period

The graph below shows that:

  • People over 50 feel happy from more leisure activities such as gardening while peopel under 50 are happy when gaming.

  • Role around people over 50 that make them happy are more diversified including grandkids, kids, animals (“hummingbird”, “bird”)

  • One interesting thing is that people under 50 are more like to use strong words to expression their happiness (such as “amazing”, “awesome”, “absolute”) compared with people over 50.

(6) Word frequencies accross different countries

The graph below shows that:

  • It seems that there is no obvious difference between the frequencies.

Step 5 - Sentiment analysis

In this chunk I use the NRC Word-Emotion Association Lexicon to apply sentiment analysis

A unigram method

Count the appearances of each sentiment (except positive and negative) in the text words. Because the number of words belonging to each sentiment in not the same, comparing the absolute counts is not informative enough. The “times” variable below improves it by computing how many times of the total number of words in each sentiment appear. As we can see from the following bar plot:

  • All the words associated with postive emotions (anticipation, joy, surprise, trust) obviously appear more frequently than those associated with negative emotions (anger, disgust, fear, sadness). This is not surprising because we are dealing with happy moment sentences.

  • When talking about happy moments, people tend to recall those situations that make them feel pure joy. Emotions related to anticipation, trust and surprise are less mentioned, even though they are positive and can be pleasant as well.

Sentiment analysis on sentences

This time, try to compute the emotions in each sentence using the same lexicon. As we can see from the graph below:

  • Obviously, the nagative emotions are used much less compared to positive ones

  • Compared to other positive emotions, “surprise” contributes much less to people’s happiness. It looks like people usually do not mention surprising moments when they recall happy times.

Step 6 - Trigram model

In our data, a bigram model contains a lot of phrases like “made feek”, “got new” that do not make sense alone. Therefore, I used a trigram model to investigate the most frequently used 3-word phrases. According to the trigrams:

Step 7 - Topic modeling: word-topic probability

Due to limitation of cumputing force, sample 10% of the cleaned happy moment sentences to do a topic modeling.

len = length(hm)
samps = sample(1:10, len, replace = T)
samp_hm = hm[samps == 1]
dtm_hm = DocumentTermMatrix(samp_hm)
rowTotals <- apply(dtm_hm , 1, sum)
dtm_hm = dtm_hm[rowTotals> 0, ]
# cross validation to find a proper number of groups
hm_lda = LDA(dtm_hm, k = i, control = list(seed = 10))
  hm_topics = tidy(hm_lda, matrix = "beta") %>%
    group_by(topic) %>%
    top_n(5, beta) %>%
    mutate(topicterm = paste0(term, topic)) # to differentiate those words that have high betas in multiple groups
  cat("model into", i, "topics\n")
model into 3 topics

Citation Akari Asai, Sara Evensen, Behzad Golshan, Alon Halevy, Vivian Li, Andrei Lopatenko, Daniela Stepanov, Yoshihiko Suhara, Wang-Chiew Tan, Yinzhan Xu, ``HappyDB: A Corpus of 100,000 Crowdsourced Happy Moments’’, LREC ’18, May 2018. (to appear)

LS0tCnRpdGxlOiAiRGF0YSBTdG9yeSBvbiBIYXBweSBNb21lbnRzIgphdXRob3I6ICJSdW94aSBCYWkiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgZGZfcHJpbnQ6IHBhZ2VkCi0tLQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpgYGAKCioqVGhpcyBpcyBhIHByZWxpbWluYXJ5IHZlcnNpb24gb2YgcHJvamVjdCAxLCBjb250YWluaW5nIGZyZXF1ZW5jaWVzIGNvbXBhcmlzb24gb24gY291bnRyaWVzLCBhbmQgdG9waWMgbW9kZWxpbmcuIEl0IHR1cm5zIG91dCB0aGlzIDIgbWV0aG9kcyBjYW5ub3QgZ2VuZXJhdGUgaW5mb3JtYXRpdmUgY29uY2x1c2lvbnMgYW5kIGFyZSByZW1vdmVkIGZyb20gdGhlIHN1Ym1pdHRlZCB2ZXJzaW9uLioqCgojIFN0ZXAgMCAtIExvYWQgYWxsIHRoZSByZXF1aXJlZCBsaWJyYXJpZXMKCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpwYWNrYWdlcy51c2VkID0gYygidG0iLCJ0aWR5dGV4dCIsImRwbHlyIiwgInBseXIiLCAidGlkeXZlcnNlIiwid29yZGNsb3VkIiwidGlkeXIiLCAic2NhbGVzIiwgImdncGxvdDIiLCAibmdyYW0iLCAidG9waWNtb2RlbHMiKQoKIyBjaGVjayBwYWNrYWdlcyB0aGF0IG5lZWQgdG8gYmUgaW5zdGFsbGVkLgpwYWNrYWdlcy5uZWVkZWQgPSBzZXRkaWZmKHBhY2thZ2VzLnVzZWQsIAogICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnNlY3QoaW5zdGFsbGVkLnBhY2thZ2VzKClbLDFdLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2VzLnVzZWQpKQojIGluc3RhbGwgYWRkaXRpb25hbCBwYWNrYWdlcwppZihsZW5ndGgocGFja2FnZXMubmVlZGVkKT4wKXsKICBpbnN0YWxsLnBhY2thZ2VzKHBhY2thZ2VzLm5lZWRlZCwgZGVwZW5kZW5jaWVzID0gVFJVRSkKfQoKIyBsb2FkIHBhY2thZ2VzCmxpYnJhcnkodG0pCmxpYnJhcnkodGlkeXRleHQpCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkocGx5cikKbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkod29yZGNsb3VkKQpsaWJyYXJ5KHRpZHlyKQpsaWJyYXJ5KHNjYWxlcykKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KG5ncmFtKQpsaWJyYXJ5KHRvcGljbW9kZWxzKQpgYGAKClRoaXMgbm90ZWJvb2sgd2FzIHByZXBhcmVkIHdpdGggdGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudGFsIHNldHRpbmdzLgoKYGBge3J9CnByaW50KFIudmVyc2lvbikKYGBgCgojIFN0ZXAgMSAtIExvYWQgZGF0YQoKYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CiMgcmVhZCBpbiBjc3YgZmlsZXMKdXJsZmlsZXMgPSBjKCdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcml0LXB1YmxpYy9IYXBweURCL21hc3Rlci9oYXBweWRiL2RhdGEvY2xlYW5lZF9obS5jc3YnLAogICAgICAgICAgICAgICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcml0LXB1YmxpYy9IYXBweURCL21hc3Rlci9oYXBweWRiL2RhdGEvZGVtb2dyYXBoaWMuY3N2JywKICAgICAgICAgICAgICAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JpdC1wdWJsaWMvSGFwcHlEQi9tYXN0ZXIvaGFwcHlkYi9kYXRhL3NlbnNlbGFiZWwuY3N2JykKY2xlYW5lZF9obSA9IHJlYWRfY3N2KHVybGZpbGVzWzFdKQpkZW1vZ3JhcGhpYyA9IHJlYWRfY3N2KHVybGZpbGVzWzJdKQpzZW5zZWxhYmVsID0gcmVhZF9jc3YodXJsZmlsZXNbM10pCgojIHNlbGVjdCBjb2x1bW5zIHRoYXQgSSBhbSBpbnRlcmVzdGVkIGluCmNsZWFuZWRfaG0gPSBjbGVhbmVkX2htWywgYygiaG1pZCIsICJ3aWQiLCAicmVmbGVjdGlvbl9wZXJpb2QiLCAiY2xlYW5lZF9obSIpXQpzZW5zZWxhYmVsID0gc2Vuc2VsYWJlbFssIGMoImhtaWQiLCAidG9rZW5PZmZzZXQiLCAibG93ZXJjYXNlTGVtbWEiLCAiUE9TIiwgInN1cGVyc2Vuc2VMYWJlbCIpXQpgYGAKCiMgU3RlcCAyIC0gVGV4dCBwcm9jZXNzaW5nCgpGb3IgdGhlICJjbGVhbmVkX2htIiBkYXRhLCBSZW1vdmUgZXh0cmEgd2hpdGUgc3BhY2VzLCBwdW5jdHVhdGlvbnMsIG51bWJlcnMgYW5kIHRpbWUtcmVsYXRlZCB3b3JkcywgY29udmVydCBhbGwgbGV0dGVycyB0byB0aGUgbG93ZXIgY2FzZSwgcmVtb3ZlIHN0b3Agd29yZHMsIHJlbW92ZWQgZW1wdHkgd29yZHMgZHVlIHRvIGZvcm1hdHRpbmcgZXJyb3JzLiBUaGVuIHJlZHVjZSB0aGUgd29yZHMgdG8gdGhlaXIgc3RlbXMuCgpEbyB0aGUgc2FtZSB0aGluZyB0byB0aGUgInNlbnNlbGFiZWwiIGRhdGEgKHdoaXRlIHNwYWNlcywgcHVuY3R1YXRpb25zLCBjYXBpdGFsIGNhc2VzIGFscmVhZHkgY2xlYW5lZCkuCgpgYGB7ciwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KaG0gPSBWQ29ycHVzKFZlY3RvclNvdXJjZShjbGVhbmVkX2htJGNsZWFuZWRfaG0pKQpkaWN0aW9uYXJ5ID0gdG1fbWFwKGhtLCBzdHJpcFdoaXRlc3BhY2UpICU+JSAKICAgIHRtX21hcChyZW1vdmVOdW1iZXJzKSAlPiUKICAgIHRtX21hcChyZW1vdmVQdW5jdHVhdGlvbikgJT4lCiAgICB0bV9tYXAoY29udGVudF90cmFuc2Zvcm1lcih0b2xvd2VyKSkgJT4lCiAgICB0bV9tYXAocmVtb3ZlV29yZHMsIHN0b3B3b3JkcygiZW5nbGlzaCIpKSAlPiUKICAgIHRtX21hcChyZW1vdmVXb3JkcywgY2hhcmFjdGVyKDApKSAgJT4lCiAgICB0bV9tYXAocmVtb3ZlV29yZHMsIGMoInRpbWUiLCAidG9kYXkiLCAieWVzdGVyZGF5IiwgImRheSIsICJ3ZWVrIiwgIndlZWtlbmQiLCAibW9udGgiLCAieWVhciIsICJyZWNlbnRseSIsICJtb21lbnQiLCJtb21lbnRzIiwgIm1vcm5pbmciLCAgICAiYWZ0ZXJub29uIiwgImV2ZW5pbmciLCAibmlnaHQiLCAiYWdvIiwgInBhc3QiLCAiaGFwcHkiLCAiaGFwcGllciIsICJoYXBwaWVzdCIpKQpobSA9IGRpY3Rpb25hcnkgJT4lCiAgdG1fbWFwKHN0ZW1Eb2N1bWVudCkgJT4lICMgc29tZSB3b3JkcyBzdGVtbWVkIHRvIHRoZSByZW1vdmVkIHdvcmRzLCByZW1vdmUgdGhlbSBhZ2FpbgogIHRtX21hcChyZW1vdmVXb3JkcywgYygidGltZSIsICJ0b2RheSIsICJ5ZXN0ZXJkYXkiLCAiZGF5IiwgIndlZWsiLCAid2Vla2VuZCIsICJtb250aCIsICJ5ZWFyIiwgInJlY2VudGx5IiwgIm1vbWVudCIsIm1vbWVudHMiLCAibW9ybmluZyIsICAgICJhZnRlcm5vb24iLCAiZXZlbmluZyIsICJuaWdodCIsICJhZ28iLCAicGFzdCIsICJoYXBweSIsICJoYXBwaWVyIiwgImhhcHBpZXN0IikpCgpobV9ub3VuID0gVkNvcnB1cyhWZWN0b3JTb3VyY2UoZmlsdGVyKHNlbnNlbGFiZWwsIFBPUyA9PSAiTk9VTiIpJGxvd2VyY2FzZUxlbW1hKSkKaG1fbm91biA9IHRtX21hcChobV9ub3VuLCByZW1vdmVOdW1iZXJzKSAlPiUgCiAgdG1fbWFwKHJlbW92ZVB1bmN0dWF0aW9uKSAlPiUKICB0bV9tYXAocmVtb3ZlV29yZHMsIHN0b3B3b3JkcygiZW5nbGlzaCIpKSAlPiUKICB0bV9tYXAocmVtb3ZlV29yZHMsIGNoYXJhY3RlcigwKSkgJT4lCiAgdG1fbWFwKHJlbW92ZVdvcmRzLCBjKCJ0aW1lIiwgInRvZGF5IiwgInllc3RlcmRheSIsICJkYXkiLCAid2VlayIsICJ3ZWVrZW5kIiwgIm1vbnRoIiwgInllYXIiLCAicmVjZW50bHkiLCAibW9tZW50IiwibW9tZW50cyIsICJtb3JuaW5nIiwgImFmdGVybm9vbiIsICJldmVuaW5nIiwgIm5pZ2h0IikpICU+JQogIHRtX21hcChzdGVtRG9jdW1lbnQpICU+JQogIHRtX21hcChyZW1vdmVXb3JkcywgYygidGltZSIsICJ0b2RheSIsICJ5ZXN0ZXJkYXkiLCAiZGF5IiwgIndlZWsiLCAid2Vla2VuZCIsICJtb250aCIsICJ5ZWFyIiwgInJlY2VudGx5IiwgIm1vbWVudCIsIm1vbWVudHMiLCAibW9ybmluZyIsICAgICJhZnRlcm5vb24iLCAiZXZlbmluZyIsICJuaWdodCIsICJhZ28iLCAicGFzdCIsICJoYXBweSIsICJoYXBwaWVyIiwgImhhcHBpZXN0IikpCmBgYAoKIyBTdGVwIDMgLSBDb21wdXRlIHRoZSBkb2N1bWVudCBtYXRyaXggb24gbm91bnMgYW5kIHBsb3QgaXRzIHdvcmQgY2xvdWQKCldoZW4gY29tcHV0aW5nIHRoZSBtYXRyaXggb24gYWxsIHdvcmRzLCB0aGUgd29yZCBjbG91ZCBhcmUgY29uc2lzdCBvZiBtYW55IHBvc2l0aXZlIGFkamVjdGl2ZXMgc3VjaCBhcyAiZ3JlYXQiLCAiZ29vZCIgYW5kIHZlcmJzIHN1Y2ggYXMgImdvdCIsICJtYWRlIi4gTG9va2luZyBhdCBzdWNoIHdvcmRzIGFsb25lIGNhbm5vdCBwcm92aWRlIG11Y2ggaW5mb3JtYXRpb24gb24gdGhlIHNlbnRlbmNlcy4gVG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24gZnJvbSB0aGUgdGV4dCwgdHJ5IHRvIHVzZSBvbmx5IHRoZSBub3VucyB0byBwbG90IGEgd29yZCBjbG91ZC4gQWNjb3JkaW5nIHRvIHRoZSB3b3JkIGNsb3VkLCB3ZSBjYW4gY29uY2x1ZGUgdGhhdDoKCisgUGVvcGxlJ3MgaGFwaW5uZXNzIGlzIHJlbGF0ZWQgdG8gdGhlaXIgZnJpZW5kcywgd29yayBvciBzY2hvb2wsIGZhbWlseSwgZXRjLgoKYGBge3IsIG1lc3NhZ2UgPSBGLCB3YXJuaW5nID0gRiwgZmlnLmhlaWdodD01LCBmaWcud2lkdGg9NX0KIyB3cml0ZSBhIGZ1bmN0aW9uIGZvciBnZW5lcmF0aW5nIHRlcm0gZG9jdW1lbnQgbWF0cml4IGFuZCBwbG90dGluZyB3b3JkIGNsb3VkCnRkbV9jbG91ZCA9IGZ1bmN0aW9uKHZjb3JwLCB0ZmlkZiA9IFQpewogIGlmKHRmaWRmKXsKICAgIHRkbSA9IHRpZHkoVGVybURvY3VtZW50TWF0cml4KHZjb3JwLCBjb250cm9sID0gbGlzdCh3ZWlnaHRpbmcgPSBmdW5jdGlvbih4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHRUZklkZih4LCBub3JtYWxpemUgPUZBTFNFKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcHdvcmRzID0gVFJVRSkpKQogIH0gZWxzZSB7CiAgICB0ZG0gPSB0aWR5KFRlcm1Eb2N1bWVudE1hdHJpeCh2Y29ycCkpCiAgfQogIHRkbV9jb3VudHMgPSB0ZG0gJT4lIGdyb3VwX2J5KHRlcm0pICU+JSBzdW1tYXJpc2Uoc3VtKGNvdW50KSkKICB3b3JkY2xvdWQodGRtX2NvdW50cyR0ZXJtLCB0ZG1fY291bnRzJGBzdW0oY291bnQpYCwKICAgICAgICAgIHNjYWxlPWMoNSwwLjUpLAogICAgICAgICAgbWF4LndvcmRzPTEwMCwKICAgICAgICAgIG1pbi5mcmVxPTEsCiAgICAgICAgICByYW5kb20ub3JkZXI9RkFMU0UsCiAgICAgICAgICByb3QucGVyPTAuMywKICAgICAgICAgIHVzZS5yLmxheW91dD1ULAogICAgICAgICAgcmFuZG9tLmNvbG9yPUZBTFNFLAogICAgICAgICAgY29sb3JzPWJyZXdlci5wYWwoOSwiQmx1ZXMiKSkKICByZXR1cm4odGRtKQp9CnRkbV9obV9ub3VuID0gdGRtX2Nsb3VkKGhtX25vdW4sIHRmaWRmID0gRikKYGBgCgojIFN0ZXAgNCAtIENvbXBhcmUgd29yZCBmcmVxdWVuY2llcyBhY2Nyb3NzIGRpZmZlcmVudCBkZW1vZ3JhcGhpYyBjaGFyYWN0ZXJpc3RpY3MgYW5kIHJlZmxlY3Rpb24gcGVyaW9kcwoKIyMgSm9pbiB0ZXh0IGFuZCBkZW1vZ3JhcGhpYyBmZWF0dXJlcyB0b2dldGhlcgoKYGBge3IsIG1lc3NhZ2UgPSBGLCB3YXJuaW5nID0gRn0KaG1fdGV4dCA9IGRhdGEuZnJhbWUodGV4dD11bmxpc3Qoc2FwcGx5KGhtLCBgW2AsICJjb250ZW50IikpLCBzdHJpbmdzQXNGYWN0b3JzPUYpCmNsZWFuZWRfaG1bImhtIl0gID0gIGhtX3RleHQkdGV4dApobV9kZiA8LSBjbGVhbmVkX2htICU+JQogIGlubmVyX2pvaW4oZGVtb2dyYXBoaWMsIGJ5ID0gIndpZCIpICU+JQogIHNlbGVjdCh3aWQsCiAgICAgICAgIGhtLAogICAgICAgICBnZW5kZXIsIAogICAgICAgICBtYXJpdGFsLCAKICAgICAgICAgcGFyZW50aG9vZCwKICAgICAgICAgcmVmbGVjdGlvbl9wZXJpb2QsCiAgICAgICAgIGFnZSwgCiAgICAgICAgIGNvdW50cnkpCgpobV9kZiA9IG11dGF0ZShobV9kZiwgY291bnQgPSBzYXBwbHkoaG1fZGYkaG0sIHdvcmRjb3VudCkpICU+JQogIGZpbHRlcihnZW5kZXIgJWluJSBjKCJtIiwgImYiKSkgJT4lCiAgZmlsdGVyKG1hcml0YWwgJWluJSBjKCJzaW5nbGUiLCAibWFycmllZCIpKSAlPiUKICBmaWx0ZXIocGFyZW50aG9vZCAlaW4lIGMoIm4iLCAieSIpKQoKaG1fZGZfdGlkeSA9IHVubmVzdF90b2tlbnMoaG1fZGYsIHdvcmQsIGhtKQpgYGAKCiMjICgxKSBXb3JkIGZyZXF1ZW5jaWVzIGFjY3Jvc3MgZGlmZmVyZW50IGdlbmRlcgoKVGhlIGdyYXBoIGJlbG93IHNob3dzIHRoYXQ6IAoKKyBCb3RoIGZlbWFsZSBhbmQgbWFsZSBzaGFyZSBzb21lIGNvbW1vbiB0b3BpY3MgdGhhdCBtYWtlIHRoZW0gaGFwcHksIHN1Y2ggYXMgImJpcnRoZGF5IiwgImZyaWVuZCIuCgorIFR3byBwYWlycyBvZiB3b3JkcyByZWxhdGluZyB0byBzcG91c2VzICJodXNiYW5kL3dpZmUiLCAiYm95ZnJpZW5kL2dpcmxmcmllbmQiIGhhdmUgcm91Z2hseSB0aGUgc2FtZSBwcm9wb3J0aW9uIChhc3N1bWluZyBoZXRlcm9zZXh1YWwsICJ3aWZlIiBhbmQgImdpcmxmcmllbmQiIHRvIG1hbGUsICJodXNiYW5kIiBhbmQgImJveWZyaWVuZCIgdG8gZmVtYWxlKSwgYW5kIHRoZXkgYXJlIG1lbnRpb25lZCBxdWl0ZSBmcmVxdWVudC4KCisgRmFtaWx5IHdvcmRzIHN1Y2ggYXMgImJhYnkiIGFuZCAiY2hpbGRyZW4iIGFyZSBmcmVxdWVudGx5IG1lbnRpb25lZCBpbiBoYXBweSBtZW1vcmllcywgYW5kIGZlbWFsZSB0ZW5kIHRvIG1lbnRpb24gdGhlbSBzbGlnaHRseSBtb3JlLiBJdCBpcyBpbnRlcmVzdGluZyB0aGF0IHRoZSB3b3JkICJtYW1hIiBicmluZ3MgbW9yZSBqb3kgdG8gZmVtYWxlIHRoYW4gaXQgdG8gbWFsZSBhbmQgdGhlIHdvcmQgInBhcGEiIHRvIGJvdGgsIHdoaWNoIHNob3dzIGFuIG9idmlvdXMgYm9uZCBiZXR3ZWVuIG1vdGhlcnMgYW5kIGtpZHMuCgorIFNvbWUgZnJlcXVlbnQgd29yZHMgbWVudGlvbmVkIGluIGhhcHB5IG1vbWVudHMgYXJlIGNvbnNpc3RlbnQgd2l0aCBob2JiaWVzLiBTdWNoIGFzICJtYWtldXAiLCAiY3JvY2hldCIgdG8gZmVtYWxlIGFuZCAibmJhIiwgImJpa2UiIHRvIG1hbGUuCgpgYGB7ciwgbWVzc2FnZSA9IEYsIHdhcm5pbmcgPSBGLCBmaWcuaGVpZ2h0PTYsIGZpZy53aWR0aD03fQpobV9kZl90aWR5X2dlbmRlciA9IGhtX2RmX3RpZHlbLCBjKCJ3b3JkIiwiZ2VuZGVyIildCmZyZXF1ZW5jeV9nZW5kZXIgPSBobV9kZl90aWR5X2dlbmRlciAlPiUgCiAgY291bnQoZ2VuZGVyLCB3b3JkKSAlPiUKICBncm91cF9ieShnZW5kZXIpICU+JQogIG11dGF0ZShwcm9wb3J0aW9uID0gbiAvIHN1bShuKSkgJT4lIAogIHNlbGVjdCgtbikgJT4lCiAgc3ByZWFkKGdlbmRlciwgcHJvcG9ydGlvbikKCmdncGxvdChmcmVxdWVuY3lfZ2VuZGVyLCBhZXMoeCA9IGYsIHkgPSBtLCBjb2xvciA9IGFicyhmIC0gbSkpKSArCiAgZ2VvbV9hYmxpbmUoY29sb3IgPSAiZ3JheTQwIiwgbHR5ID0gMikgKwogIGdlb21faml0dGVyKGFscGhhID0gMC4xLCBzaXplID0gMi41LCB3aWR0aCA9IDAuMywgaGVpZ2h0ID0gMC4zKSArCiAgZ2VvbV90ZXh0KGFlcyhsYWJlbCA9IHdvcmQpLCBjaGVja19vdmVybGFwID0gVFJVRSwgdmp1c3QgPSAxLjUpICsKICBzY2FsZV94X2xvZzEwKGxhYmVscyA9IHBlcmNlbnRfZm9ybWF0KCkpICsKICBzY2FsZV95X2xvZzEwKGxhYmVscyA9IHBlcmNlbnRfZm9ybWF0KCkpICsKICBzY2FsZV9jb2xvcl9ncmFkaWVudChsaW1pdHMgPSBjKDAsIDAuMDAxKSwgbG93ID0gImRhcmtzbGF0ZWdyYXk0IiwgaGlnaCA9ICJncmF5NzUiKSArCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJub25lIikgKwogIGxhYnMoeSA9ICJtYWxlIiwgeCA9ICJmZW1hbGUiKQoKcmJpbmQoZmlsdGVyKGZyZXF1ZW5jeV9nZW5kZXIsIHdvcmQgPT0gIm1hbWEiKSwgZmlsdGVyKGZyZXF1ZW5jeV9nZW5kZXIsIHdvcmQgPT0gInBhcGEiKSkKYGBgCgojIyAoMikgV29yZCBmcmVxdWVuY2llcyBhY2Nyb3NzIGRpZmZlcmVudCBwYXJlbnRob29kIHN0YXR1cwoKVGhlIGdyYXBoIGJlbG93IHNob3dzIHRoYXQ6IAoKKyBGb3IgcGFyZW50cywga2lkcywgY2hpbGRyZW4sIGRhdWdodGVycywgYmFiaWVzLCBncmFuZGtpZHMgYXJlIG1lbnRpb25lZCBmcmVxdWVudGx5IGluIGhhcHB5IG1vbWVudHMsIHdoaWNoIGlzIG5vdCBzdXJwcmlzaW5nLiBBbmQgZm9yIHRob3NlIHRoYXQgYXJlIG5vdCBhIHBhcmVudCwgdGhlIHBlb3BsZSB0aGF0IGZyZXF1ZW50bHkgbWVudGlvbmVkIGluIHRoZWlyIGhhcHB5IG1vbWVudHMgYXJlIGdpcmxmcmVuZHMsIHJvb21tYXRlcywgZXRjLgoKKyBUaGVyZSBpcyBhIHRyZW5kIHRoYXQgZm9yIHBhcmVudHMsIGZhbWlseSByZWxhdGVkIHRvcGljcyAoImJpcnRoIiwgImtpbmRlcmdhcnRlbiIpIGFyZSBtZW50aW9uZWQgbW9yZSBmcmVxdWVudGx5LCB3aGlsZSBmb3IgdGhlIG90aGVyIGdyb3VwLCByZWNyZWF0aW9uYXJ5IGFjdGl2aXRpZXMgKCJiYnEiLCAiZ3VpdGFyIikgYXJlIG1lbnRpb25lZCBtb3JlLCB3aGljaCBzaG93cyBhIHRpbWUgYWxsb2NhdGlvbiBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyB0d28gZ3JvdXBzLgoKYGBge3IsIG1lc3NhZ2UgPSBGLCB3YXJuaW5nID0gRiwgZmlnLmhlaWdodD02LCBmaWcud2lkdGg9N30KaG1fZGZfdGlkeV9wYXJlbnRob29kID0gaG1fZGZfdGlkeVssIGMoIndvcmQiLCJwYXJlbnRob29kIildCmZyZXF1ZW5jeV9wYXJlbnRob29kID0gaG1fZGZfdGlkeV9wYXJlbnRob29kICU+JSAKICBjb3VudChwYXJlbnRob29kLCB3b3JkKSAlPiUKICBncm91cF9ieShwYXJlbnRob29kKSAlPiUKICBtdXRhdGUocHJvcG9ydGlvbiA9IG4gLyBzdW0obikpICU+JSAKICBzZWxlY3QoLW4pICU+JQogIHNwcmVhZChwYXJlbnRob29kLCBwcm9wb3J0aW9uKQoKZ2dwbG90KGZyZXF1ZW5jeV9wYXJlbnRob29kLCBhZXMoeCA9IG4sIHkgPSB5LCBjb2xvciA9IGFicyhuIC0geSkpKSArCiAgZ2VvbV9hYmxpbmUoY29sb3IgPSAiZ3JheTQwIiwgbHR5ID0gMikgKwogIGdlb21faml0dGVyKGFscGhhID0gMC4xLCBzaXplID0gMi41LCB3aWR0aCA9IDAuMywgaGVpZ2h0ID0gMC4zKSArCiAgZ2VvbV90ZXh0KGFlcyhsYWJlbCA9IHdvcmQpLCBjaGVja19vdmVybGFwID0gVFJVRSwgdmp1c3QgPSAxLjUpICsKICBzY2FsZV94X2xvZzEwKGxhYmVscyA9IHBlcmNlbnRfZm9ybWF0KCkpICsKICBzY2FsZV95X2xvZzEwKGxhYmVscyA9IHBlcmNlbnRfZm9ybWF0KCkpICsKICBzY2FsZV9jb2xvcl9ncmFkaWVudChsaW1pdHMgPSBjKDAsIDAuMDAxKSwgbG93ID0gImRhcmtzbGF0ZWdyYXk0IiwgaGlnaCA9ICJncmF5NzUiKSArCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJub25lIikgKwogIGxhYnMoeSA9ICJhIHBhcmVudCIsIHggPSAibm90IGEgcGFyZW50IikKYGBgCgojIyAoMykgV29yZCBmcmVxdWVuY2llcyBhY2Nyb3NzIGRpZmZlcmVudCBtYXJpdGFsIHN0YXR1cwoKVGhlIGdyYXBoIGJlbG93IHNob3dzIHRoYXQ6IAoKKyBOb3Qgc3VwcmlzaW5nbHksIGZvciBtYXJyaWVkIHBlb3BsZSAiaHVzYmFuZCIgYW5kICJ3aWZlIiBhbmQgInNwb3VzZSIgYXJlIG1lbnRpb25lZCBtb3JlIGZyZXF1ZW50bHksIHdoaWxlIGZvciBzaW5nbGUgcGVvcGxlLCAiZ2lybGZyaWVuZCIgYW5kICJib3lmcmllbmQiIGFuZCAiZmlhbmNlIiBhcmUuCgpgYGB7ciwgbWVzc2FnZSA9IEYsIHdhcm5pbmcgPSBGLCBmaWcuaGVpZ2h0PTYsIGZpZy53aWR0aD03fQpobV9kZl90aWR5X21hcml0YWwgPSBobV9kZl90aWR5WywgYygid29yZCIsIm1hcml0YWwiKV0KZnJlcXVlbmN5X21hcml0YWwgPSBobV9kZl90aWR5X21hcml0YWwgJT4lIAogIGNvdW50KG1hcml0YWwsIHdvcmQpICU+JQogIGdyb3VwX2J5KG1hcml0YWwpICU+JQogIG11dGF0ZShwcm9wb3J0aW9uID0gbiAvIHN1bShuKSkgJT4lIAogIHNlbGVjdCgtbikgJT4lCiAgc3ByZWFkKG1hcml0YWwsIHByb3BvcnRpb24pCgpnZ3Bsb3QoZnJlcXVlbmN5X21hcml0YWwsIGFlcyh4ID0gbWFycmllZCwgeSA9IHNpbmdsZSwgY29sb3IgPSBhYnMobWFycmllZCAtIHNpbmdsZSkpKSArCiAgZ2VvbV9hYmxpbmUoY29sb3IgPSAiZ3JheTQwIiwgbHR5ID0gMikgKwogIGdlb21faml0dGVyKGFscGhhID0gMC4xLCBzaXplID0gMi41LCB3aWR0aCA9IDAuMywgaGVpZ2h0ID0gMC4zKSArCiAgZ2VvbV90ZXh0KGFlcyhsYWJlbCA9IHdvcmQpLCBjaGVja19vdmVybGFwID0gVFJVRSwgdmp1c3QgPSAxLjUpICsKICBzY2FsZV94X2xvZzEwKGxhYmVscyA9IHBlcmNlbnRfZm9ybWF0KCkpICsKICBzY2FsZV95X2xvZzEwKGxhYmVscyA9IHBlcmNlbnRfZm9ybWF0KCkpICsKICBzY2FsZV9jb2xvcl9ncmFkaWVudChsaW1pdHMgPSBjKDAsIDAuMDAxKSwgbG93ID0gImRhcmtzbGF0ZWdyYXk0IiwgaGlnaCA9ICJncmF5NzUiKSArCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJub25lIikgKwogIGxhYnMoeSA9ICJzaW5nbGUiLCB4ID0gIm1hcnJpZWQiKQpgYGAKCiMjICg0KSBXb3JkIGZyZXF1ZW5jaWVzIGFjY3Jvc3MgZGlmZmVyZW50IHJlZmxlY3Rpb24gcGVyaW9kCgpUaGUgZ3JhcGggYmVsb3cgc2hvd3MgdGhhdDogCgorIFVuZGVyIGEgMy1tb250aCByZWZsZWN0aW9uIHBlcmlvZCwgcGVvcGxlIHRlbmQgdG8gbWVudGlvbiBpbXBvcnRhbnQgZXZlbnRzIHRoYXQgZG8gbm90IGhhcHBlbiB2ZXJ5IG9mdGVuLCBzdWNoIGFzIFZhbGVudGluZSdzIERheSwgZ3JhdWRhdGlvbiwgZXRjLiBVbmRlciBhIDI0IGhvdXJzIHJlZmxlY3Rpb24gcGVyaW9kLCBwZW9wbGUgdGVuZCB0byBtZW50aW9uIHRoaW5ncyB0aGF0IGNsb3NlIHRvIGRhaWx5IGxpZmUsIHN1Y2ggYXMgY29mZmVlLCBiZWQuCgorIE9uZSBpbnRlcmVzdGluZyB0aGluZyBpcyB0aGF0IHBlb3BsZSBtZW50aW9uIGZvb2RzIChmb3IgZXhhbXBsZSwgY29mZmVlLCBjb29raWUsIGJ1bikgbXVjaCBtb3JlIG9mdGVuIHdoZW4gdGhlIHJlZmxlY3Rpb24gcGVyaW9kIGlzIHNob3J0LgoKYGBge3IsIG1lc3NhZ2UgPSBGLCB3YXJuaW5nID0gRiwgZmlnLmhlaWdodD02LCBmaWcud2lkdGg9N30KaG1fZGZfdGlkeV9yZWZsZWN0aW9uX3BlcmlvZCA9IGhtX2RmX3RpZHlbLCBjKCJ3b3JkIiwicmVmbGVjdGlvbl9wZXJpb2QiKV0KZnJlcXVlbmN5X3JlZmxlY3Rpb25fcGVyaW9kID0gaG1fZGZfdGlkeV9yZWZsZWN0aW9uX3BlcmlvZCAlPiUgCiAgY291bnQocmVmbGVjdGlvbl9wZXJpb2QsIHdvcmQpICU+JQogIGdyb3VwX2J5KHJlZmxlY3Rpb25fcGVyaW9kKSAlPiUKICBtdXRhdGUocHJvcG9ydGlvbiA9IG4gLyBzdW0obikpICU+JSAKICBzZWxlY3QoLW4pICU+JQogIHNwcmVhZChyZWZsZWN0aW9uX3BlcmlvZCwgcHJvcG9ydGlvbikKCmdncGxvdChmcmVxdWVuY3lfcmVmbGVjdGlvbl9wZXJpb2QsIGFlcyh4ID0gYDI0aGAsIHkgPSBgM21gLCBjb2xvciA9IGFicyhgMjRoYCAtIGAzbWApKSkgKwogIGdlb21fYWJsaW5lKGNvbG9yID0gImdyYXk0MCIsIGx0eSA9IDIpICsKICBnZW9tX2ppdHRlcihhbHBoYSA9IDAuMSwgc2l6ZSA9IDIuNSwgd2lkdGggPSAwLjMsIGhlaWdodCA9IDAuMykgKwogIGdlb21fdGV4dChhZXMobGFiZWwgPSB3b3JkKSwgY2hlY2tfb3ZlcmxhcCA9IFRSVUUsIHZqdXN0ID0gMS41KSArCiAgc2NhbGVfeF9sb2cxMChsYWJlbHMgPSBwZXJjZW50X2Zvcm1hdCgpKSArCiAgc2NhbGVfeV9sb2cxMChsYWJlbHMgPSBwZXJjZW50X2Zvcm1hdCgpKSArCiAgc2NhbGVfY29sb3JfZ3JhZGllbnQobGltaXRzID0gYygwLCAwLjAwMSksIGxvdyA9ICJkYXJrc2xhdGVncmF5NCIsIGhpZ2ggPSAiZ3JheTc1IikgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIpICsKICBsYWJzKHkgPSAiMyBtb250aHMiLCB4ID0gIjI0IGhvdXJzIikKYGBgCgojIyAoNSkgV29yZCBmcmVxdWVuY2llcyBhY2Nyb3NzIGRpZmZlcmVudCBhZ2VzIHBlcmlvZAoKVGhlIGdyYXBoIGJlbG93IHNob3dzIHRoYXQ6IAoKKyBQZW9wbGUgb3ZlciA1MCBmZWVsIGhhcHB5IGZyb20gbW9yZSBsZWlzdXJlIGFjdGl2aXRpZXMgc3VjaCBhcyBnYXJkZW5pbmcgd2hpbGUgcGVvcGVsIHVuZGVyIDUwIGFyZSBoYXBweSB3aGVuIGdhbWluZy4KCisgUm9sZSBhcm91bmQgcGVvcGxlIG92ZXIgNTAgdGhhdCBtYWtlIHRoZW0gaGFwcHkgYXJlIG1vcmUgZGl2ZXJzaWZpZWQgaW5jbHVkaW5nIGdyYW5ka2lkcywga2lkcywgYW5pbWFscyAoImh1bW1pbmdiaXJkIiwgImJpcmQiKQoKKyBPbmUgaW50ZXJlc3RpbmcgdGhpbmcgaXMgdGhhdCBwZW9wbGUgdW5kZXIgNTAgYXJlIG1vcmUgbGlrZSB0byB1c2Ugc3Ryb25nIHdvcmRzIHRvIGV4cHJlc3Npb24gdGhlaXIgaGFwcGluZXNzIChzdWNoIGFzICJhbWF6aW5nIiwgImF3ZXNvbWUiLCAiYWJzb2x1dGUiKSBjb21wYXJlZCB3aXRoIHBlb3BsZSBvdmVyIDUwLgoKYGBge3IsIG1lc3NhZ2UgPSBGLCB3YXJuaW5nID0gRiwgZmlnLmhlaWdodD02LCBmaWcud2lkdGg9N30KaG1fZGZfdGlkeV9hZ2UgPSBobV9kZl90aWR5WywgYygid29yZCIsImFnZSIpXQpobV9kZl90aWR5X2FnZSRhZ2VbaG1fZGZfdGlkeV9hZ2UkYWdlID49IDUwXSA9ICJhZnRlcjUwIgpobV9kZl90aWR5X2FnZSRhZ2VbaG1fZGZfdGlkeV9hZ2UkYWdlIDwgNTBdID0gImJlZm9yZTUwIgoKZnJlcXVlbmN5X2FnZSA9IGhtX2RmX3RpZHlfYWdlICU+JSAKICBjb3VudChhZ2UsIHdvcmQpICU+JQogIGdyb3VwX2J5KGFnZSkgJT4lCiAgbXV0YXRlKHByb3BvcnRpb24gPSBuIC8gc3VtKG4pKSAlPiUgCiAgc2VsZWN0KC1uKSAlPiUKICBzcHJlYWQoYWdlLCBwcm9wb3J0aW9uKSAKCmdncGxvdChmcmVxdWVuY3lfYWdlLCBhZXMoeCA9IGBhZnRlcjUwYCwgeSA9IGBiZWZvcmU1MGAsIGNvbG9yID0gYWJzKGBhZnRlcjUwYCAtIGBiZWZvcmU1MGApKSkgKwogIGdlb21fYWJsaW5lKGNvbG9yID0gImdyYXk0MCIsIGx0eSA9IDIpICsKICBnZW9tX2ppdHRlcihhbHBoYSA9IDAuMSwgc2l6ZSA9IDIuNSwgd2lkdGggPSAwLjMsIGhlaWdodCA9IDAuMykgKwogIGdlb21fdGV4dChhZXMobGFiZWwgPSB3b3JkKSwgY2hlY2tfb3ZlcmxhcCA9IFRSVUUsIHZqdXN0ID0gMS41KSArCiAgc2NhbGVfeF9sb2cxMChsYWJlbHMgPSBwZXJjZW50X2Zvcm1hdCgpKSArCiAgc2NhbGVfeV9sb2cxMChsYWJlbHMgPSBwZXJjZW50X2Zvcm1hdCgpKSArCiAgc2NhbGVfY29sb3JfZ3JhZGllbnQobGltaXRzID0gYygwLCAwLjAwMSksIGxvdyA9ICJkYXJrc2xhdGVncmF5NCIsIGhpZ2ggPSAiZ3JheTc1IikgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIpICsKICBsYWJzKHkgPSAicGVvcGxlIHVuZGVyIDUwIiwgeCA9ICJwZW9wbGUgYWJvdmUgNTAiKQpgYGAKCiMjICg2KSBXb3JkIGZyZXF1ZW5jaWVzIGFjY3Jvc3MgZGlmZmVyZW50IGNvdW50cmllcwoKVGhlIGdyYXBoIGJlbG93IHNob3dzIHRoYXQ6IAoKKyBJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIG5vIG9idmlvdXMgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBmcmVxdWVuY2llcy4KCmBgYHtyLCBtZXNzYWdlID0gRiwgd2FybmluZyA9IEYsIGZpZy5oZWlnaHQ9NiwgZmlnLndpZHRoPTd9CmhtX2RmX3RpZHlfY291bnRyeSA9IGhtX2RmX3RpZHlbLCBjKCJ3b3JkIiwiY291bnRyeSIpXQpmcmVxdWVuY3lfY291bnRyeSA9IGhtX2RmX3RpZHlfY291bnRyeSAlPiUgCiAgY291bnQoY291bnRyeSwgd29yZCkgJT4lCiAgZ3JvdXBfYnkoY291bnRyeSkgJT4lCiAgbXV0YXRlKHByb3BvcnRpb24gPSBuIC8gc3VtKG4pKSAlPiUgCiAgc2VsZWN0KC1uKSAlPiUKICBzcHJlYWQoY291bnRyeSwgcHJvcG9ydGlvbikKCiMgY29tcGFyZSBJbmRpYSBhbmQgQW1lcmljYQpmcmVxdWVuY3lfY291bnRyeSA9IGZyZXF1ZW5jeV9jb3VudHJ5WywgYygid29yZCIsICJJTkQiLCAiVVNBIildCgpnZ3Bsb3QoZnJlcXVlbmN5X2NvdW50cnksIGFlcyh4ID0gSU5ELCB5ID0gVVNBLCBjb2xvciA9IGFicyhVU0EgLSBJTkQpKSkgKwogIGdlb21fYWJsaW5lKGNvbG9yID0gImdyYXk0MCIsIGx0eSA9IDIpICsKICBnZW9tX2ppdHRlcihhbHBoYSA9IDAuMSwgc2l6ZSA9IDIuNSwgd2lkdGggPSAwLjMsIGhlaWdodCA9IDAuMykgKwogIGdlb21fdGV4dChhZXMobGFiZWwgPSB3b3JkKSwgY2hlY2tfb3ZlcmxhcCA9IFRSVUUsIHZqdXN0ID0gMS41KSArCiAgc2NhbGVfeF9sb2cxMChsYWJlbHMgPSBwZXJjZW50X2Zvcm1hdCgpKSArCiAgc2NhbGVfeV9sb2cxMChsYWJlbHMgPSBwZXJjZW50X2Zvcm1hdCgpKSArCiAgc2NhbGVfY29sb3JfZ3JhZGllbnQobGltaXRzID0gYygwLCAwLjAwMSksIGxvdyA9ICJkYXJrc2xhdGVncmF5NCIsIGhpZ2ggPSAiZ3JheTc1IikgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIpICsKICBsYWJzKHkgPSAiVVNBIiwgeCA9ICJJbmRpYSIpCmBgYAoKIyBTdGVwIDUgLSBTZW50aW1lbnQgYW5hbHlzaXMKCkluIHRoaXMgY2h1bmsgSSB1c2UgdGhlIFtOUkMgV29yZC1FbW90aW9uIEFzc29jaWF0aW9uIExleGljb25dKGh0dHA6Ly9zYWlmbW9oYW1tYWQuY29tL1dlYlBhZ2VzL05SQy1FbW90aW9uLUxleGljb24uaHRtKSB0byBhcHBseSBzZW50aW1lbnQgYW5hbHlzaXMKCiMjIEEgdW5pZ3JhbSBtZXRob2QKCkNvdW50IHRoZSBhcHBlYXJhbmNlcyBvZiBlYWNoIHNlbnRpbWVudCAoZXhjZXB0IHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSkgaW4gdGhlIHRleHQgd29yZHMuIEJlY2F1c2UgdGhlIG51bWJlciBvZiB3b3JkcyBiZWxvbmdpbmcgdG8gZWFjaCBzZW50aW1lbnQgaW4gbm90IHRoZSBzYW1lLCBjb21wYXJpbmcgdGhlIGFic29sdXRlIGNvdW50cyBpcyBub3QgaW5mb3JtYXRpdmUgZW5vdWdoLiBUaGUgInRpbWVzIiB2YXJpYWJsZSBiZWxvdyBpbXByb3ZlcyBpdCBieSBjb21wdXRpbmcgaG93IG1hbnkgdGltZXMgb2YgdGhlIHRvdGFsIG51bWJlciBvZiB3b3JkcyBpbiBlYWNoIHNlbnRpbWVudCBhcHBlYXIuIEFzIHdlIGNhbiBzZWUgZnJvbSB0aGUgZm9sbG93aW5nIGJhciBwbG90OgoKKyBBbGwgdGhlIHdvcmRzIGFzc29jaWF0ZWQgd2l0aCBwb3N0aXZlIGVtb3Rpb25zIChhbnRpY2lwYXRpb24sIGpveSwgc3VycHJpc2UsIHRydXN0KSBvYnZpb3VzbHkgYXBwZWFyIG1vcmUgZnJlcXVlbnRseSB0aGFuIHRob3NlIGFzc29jaWF0ZWQgd2l0aCBuZWdhdGl2ZSBlbW90aW9ucyAoYW5nZXIsIGRpc2d1c3QsIGZlYXIsIHNhZG5lc3MpLiBUaGlzIGlzIG5vdCBzdXJwcmlzaW5nIGJlY2F1c2Ugd2UgYXJlIGRlYWxpbmcgd2l0aCBoYXBweSBtb21lbnQgc2VudGVuY2VzLgoKKyBXaGVuIHRhbGtpbmcgYWJvdXQgaGFwcHkgbW9tZW50cywgcGVvcGxlIHRlbmQgdG8gcmVjYWxsIHRob3NlIHNpdHVhdGlvbnMgdGhhdCBtYWtlIHRoZW0gZmVlbCBwdXJlIGpveS4gRW1vdGlvbnMgcmVsYXRlZCB0byBhbnRpY2lwYXRpb24sIHRydXN0IGFuZCBzdXJwcmlzZSBhcmUgbGVzcyBtZW50aW9uZWQsIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHBvc2l0aXZlIGFuZCBjYW4gYmUgcGxlYXNhbnQgYXMgd2VsbC4KCmBgYHtyLCB3YXJtaW5nID0gRiwgbWVzc2FnZSA9IEZ9CiMgc29tZSBzdGVtbWVkIHdvcmRzIGNhbm5vdCBiZSByZWNvZ25pemVkIGJ5IGxleGljb24KIyB1c2UgdGhlIGRpY3Rpb25hcnkgaW5zdGVhZApkaWN0X3RleHQgPSBkYXRhLmZyYW1lKHRleHQ9dW5saXN0KHNhcHBseShkaWN0aW9uYXJ5LCBgW2AsICJjb250ZW50IikpLCBzdHJpbmdzQXNGYWN0b3JzPUYpCmRpY3Rfd29yZCA9IHVubmVzdF90b2tlbnMoZGljdF90ZXh0LCB3b3JkLCB0ZXh0KQpzZW50aW1lbnRfY291bnQgPSBnZXRfc2VudGltZW50cygibnJjIikgJT4lIGNvdW50KHNlbnRpbWVudCkKd29yZF9zZW50aW1lbnQgPSBkaWN0X3dvcmQgJT4lIAogIGlubmVyX2pvaW4oZ2V0X3NlbnRpbWVudHMoIm5yYyIpKSAlPiUKICBjb3VudChzZW50aW1lbnQpICU+JQogIGlubmVyX2pvaW4oeSA9IHNlbnRpbWVudF9jb3VudCwgYnkgPSAic2VudGltZW50IikgJT4lCiAgbXV0YXRlKHRpbWVzID0gbi54L24ueSkgJT4lCiAgZmlsdGVyKHNlbnRpbWVudCAlaW4lIGMoImFuZ2VyIiwgImFudGljaXBhdGlvbiIsICJkaXNndXN0IiwgImZlYXIiLCAiam95IiwgInNhZG5lc3MiLCAic3VycHJpc2UiLCAidHJ1c3QiKSkKZ2dwbG90KHdvcmRfc2VudGltZW50LCBhZXMoeCA9IHNlbnRpbWVudCwgeSA9IHRpbWVzKSkgKwogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiLCBmaWxsID0gImRhcmtzbGF0ZWdyYXkzIikgKwogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IDE1LCBjb2xvciA9ICJibGFjayIpICsKICB0aGVtZV9saWdodCgpCmBgYAoKIyMgU2VudGltZW50IGFuYWx5c2lzIG9uIHNlbnRlbmNlcwoKVGhpcyB0aW1lLCB0cnkgdG8gY29tcHV0ZSB0aGUgZW1vdGlvbnMgaW4gZWFjaCBzZW50ZW5jZSB1c2luZyB0aGUgc2FtZSBsZXhpY29uLiBBcyB3ZSBjYW4gc2VlIGZyb20gdGhlIGdyYXBoIGJlbG93OgoKKyBPYnZpb3VzbHksIHRoZSBuYWdhdGl2ZSBlbW90aW9ucyBhcmUgdXNlZCBtdWNoIGxlc3MgY29tcGFyZWQgdG8gcG9zaXRpdmUgb25lcwoKKyBDb21wYXJlZCB0byBvdGhlciBwb3NpdGl2ZSBlbW90aW9ucywgInN1cnByaXNlIiBjb250cmlidXRlcyBtdWNoIGxlc3MgdG8gcGVvcGxlJ3MgaGFwcGluZXNzLiBJdCBsb29rcyBsaWtlIHBlb3BsZSB1c3VhbGx5IGRvIG5vdCBtZW50aW9uIHN1cnByaXNpbmcgbW9tZW50cyB3aGVuIHRoZXkgcmVjYWxsIGhhcHB5IHRpbWVzLgoKYGBge3IsIG1lc3NhZ2U9Riwgd2FybmluZz1GLCBmaWcud2lkdGg9NywgZmlnLmhlaWdodD02fQpzZW50ZW5jZV9zZW50aW1lbnQgPSBnZXRfbnJjX3NlbnRpbWVudChkaWN0X3RleHQkdGV4dCkgJT4lCiAgYXBwbHkoMiwgc3VtKQpzZW50ZW5jZV9zZW50aW1lbnQgPSAoc2VudGVuY2Vfc2VudGltZW50L3NlbnRpbWVudF9jb3VudCRuKVsxOjhdICU+JQogIG1lbHQoKQpzZW50ZW5jZV9zZW50aW1lbnQgPSBjYmluZChlbW90aW9ucyA9IHJvd25hbWVzKHNlbnRlbmNlX3NlbnRpbWVudCksIHNlbnRlbmNlX3NlbnRpbWVudCkKZ2dwbG90KHNlbnRlbmNlX3NlbnRpbWVudCwgYWVzKHggPSBlbW90aW9ucywgeSA9IHZhbHVlKSkgKwogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiLCBmaWxsID0gImRhcmtzbGF0ZWdyYXkzIikgKwogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IDEyLCBjb2xvciA9ICJibGFjayIpICsgCiAgdGhlbWVfbGlnaHQoKQpgYGAKCiMgU3RlcCA2IC0gVHJpZ3JhbSBtb2RlbAoKSW4gb3VyIGRhdGEsIGEgYmlncmFtIG1vZGVsIGNvbnRhaW5zIGEgbG90IG9mIHBocmFzZXMgbGlrZSAibWFkZSBmZWVrIiwgImdvdCBuZXciIHRoYXQgZG8gbm90IG1ha2Ugc2Vuc2UgYWxvbmUuIFRoZXJlZm9yZSwgSSB1c2VkIGEgdHJpZ3JhbSBtb2RlbCB0byBpbnZlc3RpZ2F0ZSB0aGUgbW9zdCBmcmVxdWVudGx5IHVzZWQgMy13b3JkIHBocmFzZXMuIEFjY29yZGluZyB0byB0aGUgdHJpZ3JhbXM6CgorIFJlY3JlYXRpb25hcnkgZXZlbnRzIGFyZSBtb3Rpb25lZCBtb3N0IGZyZXF1ZW50bHkgaW4gaGFwcHkgbW9tZW50cwoKKyBUaGUgc2Vjb25kIG1vc3QgbWVudGlvbmVkIHRoaW5ncyBhcmUgbmV3IGl0ZW1zIG9yIGVudmlyb25tZW50LiBJdCBsb29rcyBsaWtlIHRoZSBjaGFuZ2VzIHJlYWxseSBmcmVzaCBwZW9wbGUncyBtaW5kIGFuZCBtYWtlIHRoZW0gaGFwcHkuCgorIEdvb2QgdGhpbmdzIGhhcHBlbmVkIGF0IHdvcmsgb3Igc2Nob29sIGFyZSBhbHNvIGEgbWFqb3IgY29udHJpYnV0b3IgdG8gaGFwcGluZXNzLgoKCmBgYHtyLCBtZXNzYWdlPUYsIHdhcm5pbmc9RiwgZmlnLmhlaWdodD02LCBmaWcud2lkdGg9N30KaG1fdHJpZ3JhbSA9IHVubmVzdF90b2tlbnMoaG1fdGV4dCwgdHJpZ3JhbSwgdGV4dCwgdG9rZW4gPSAibmdyYW1zIixuID0gMykgJT4lCiAgZHBseXI6OmNvdW50KHRyaWdyYW0sIHNvcnQgPSBUKQpobV90cmlncmFtX3RvcDE1ID0gaG1fdHJpZ3JhbVsxOjE1LF0KaG1fdHJpZ3JhbV90b3AxNSR0cmlncmFtID0gZmFjdG9yKGhtX3RyaWdyYW1fdG9wMTUkdHJpZ3JhbSwgbGV2ZWxzID0gaG1fdHJpZ3JhbV90b3AxNSR0cmlncmFtW29yZGVyKGhtX3RyaWdyYW1fdG9wMTUkbildKQoKZ2dwbG90KGhtX3RyaWdyYW1fdG9wMTUsIGFlcyh4ID0gdHJpZ3JhbSwgeSA9IG4pKSArIAogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiLCBmaWxsID0gImRhcmtzbGF0ZWdyYXkzIikgKwogIGNvb3JkX2ZsaXAoKSArCiAgdGhlbWVfbGlnaHQoKQpgYGAKCiMgU3RlcCA3IC0gVG9waWMgbW9kZWxpbmc6IHdvcmQtdG9waWMgcHJvYmFiaWxpdHkKCkR1ZSB0byBsaW1pdGF0aW9uIG9mIGN1bXB1dGluZyBmb3JjZSwgc2FtcGxlIDEwJSBvZiB0aGUgY2xlYW5lZCBoYXBweSBtb21lbnQgc2VudGVuY2VzIHRvIGRvIGEgdG9waWMgbW9kZWxpbmcuCgpgYGB7ciwgbWVzc2FnZSA9IEYsIHdhcm5pbmcgPSBGLCBmaWcud2lkdGg9NCwgZmlnLmhlaWdodD0zfQpzZXQuc2VlZCgxMCkKbGVuID0gbGVuZ3RoKGhtKQpzYW1wcyA9IHNhbXBsZSgxOjEwLCBsZW4sIHJlcGxhY2UgPSBUKQpzYW1wX2htID0gaG1bc2FtcHMgPT0gMV0KZHRtX2htID0gRG9jdW1lbnRUZXJtTWF0cml4KHNhbXBfaG0pCnJvd1RvdGFscyA8LSBhcHBseShkdG1faG0gLCAxLCBzdW0pCmR0bV9obSA9IGR0bV9obVtyb3dUb3RhbHM+IDAsIF0KIyBjcm9zcyB2YWxpZGF0aW9uIHRvIGZpbmQgYSBwcm9wZXIgbnVtYmVyIG9mIGdyb3Vwcwpmb3IoaSBpbiAyOjUpewogIGhtX2xkYSA9IExEQShkdG1faG0sIGsgPSBpLCBjb250cm9sID0gbGlzdChzZWVkID0gMTApKQogIGhtX3RvcGljcyA9IHRpZHkoaG1fbGRhLCBtYXRyaXggPSAiYmV0YSIpICU+JQogICAgZ3JvdXBfYnkodG9waWMpICU+JQogICAgdG9wX24oNSwgYmV0YSkgJT4lCiAgICBtdXRhdGUodG9waWN0ZXJtID0gcGFzdGUwKHRlcm0sIHRvcGljKSkgIyB0byBkaWZmZXJlbnRpYXRlIHRob3NlIHdvcmRzIHRoYXQgaGF2ZSBoaWdoIGJldGFzIGluIG11bHRpcGxlIGdyb3VwcwogIGNhdCgibW9kZWwgaW50byIsIGksICJ0b3BpY3NcbiIpCiAgZm9yICh0IGluIDE6aSl7CiAgICB0b3BpY3MgPSBmaWx0ZXIoaG1fdG9waWNzLCB0b3BpYyA9PSB0KQogICAgdG9waWNzJHRvcGljdGVybSA9IGZhY3Rvcih0b3BpY3MkdG9waWN0ZXJtLCBsZXZlbHMgPSB0b3BpY3MkdG9waWN0ZXJtW29yZGVyKHRvcGljcyRiZXRhKV0pCiAgICBnZ3Bsb3QodG9waWNzKSArCiAgICAgIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiLCBtYXBwaW5nID0gYWVzICh4ID0gdG9waWN0ZXJtLCB5ID0gYmV0YSksIGZpbGwgPSAiZGFya3NsYXRlZ3JheTMiLCBuYS5ybSA9IFQpICsKICAgICAgbGFicyh4ID0gImJldGEiLCB0aXRsZSA9IHBhc3RlKCJncm91cCIsIHQpKSArCiAgICAgIGNvb3JkX2ZsaXAoKSArCiAgICAgIHRoZW1lX2xpZ2h0KCkKICB9Cn0KCgoKYGBgCgoKCgoKCgoKCgoKCgoKCgoKCioqQ2l0YXRpb24qKgpBa2FyaSBBc2FpLCBTYXJhIEV2ZW5zZW4sIEJlaHphZCBHb2xzaGFuLCBBbG9uIEhhbGV2eSwgVml2aWFuIExpLCBBbmRyZWkgTG9wYXRlbmtvLCAKRGFuaWVsYSBTdGVwYW5vdiwgWW9zaGloaWtvIFN1aGFyYSwgV2FuZy1DaGlldyBUYW4sIFlpbnpoYW4gWHUsIApgYEhhcHB5REI6IEEgQ29ycHVzIG9mIDEwMCwwMDAgQ3Jvd2Rzb3VyY2VkIEhhcHB5IE1vbWVudHMnJywgTFJFQyAnMTgsIE1heSAyMDE4LiAodG8gYXBwZWFyKQoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK